
window.txtfile1=[];
//李子威
// 根据id读取贺矿1的txt数据
function readTxtFile1() {
    //设置一个关于位置的空数组，等着数据往里加
    var position = [];
    //定义一个文件变量
    var file = "./data/1.txt";
    //自己看看xhr如何请求获取.txt文本数据的基本格式 http://c.biancheng.net/view/5995.html
    var xhr = new XMLHttpRequest();
    xhr.open("GET", file, true);
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            //定义行数，换行用，分割
            var lines = xhr.responseText.split('\n');
            //for循环每一行数据
            for (var i = 0; i < lines.length; i++) {
                //trim()清除本行空格，菜鸟教程https://www.runoob.com/jsref/jsref-trim.html
                var line = lines[i].trim();
                //每行数据用，分割
                var data = line.split(',');
                //分别将每行数据中用，分割好的单个数据填入设置好的经纬度和高度变量
                var id = parseFloat(data[0]);
                var longitude = parseFloat(data[1]);
                var latitude = parseFloat(data[2]);
                var altitude = parseFloat(data[3]);
                //将经纬度和高度依次挤压到position数组中
                position.push({
                    id: id,
                    longitude: longitude,
                    latitude: latitude,
                    altitude: altitude
                });
            }
            // processPositionArray();

        }
    };
    xhr.send();

    // //1秒后开始传参并执行以下功能
    setTimeout(() => {
        //     //调用格式化数据函数
        initializeData1(position)



        //     addlineBytxt2(position)
        //     console.log(position)

    }, 1000);

}
//调用以下功能
readTxtFile1();
//李子威添加线功能
function addlineBytxt1(oneLine) {
    //定义一个新的位置数组
    var positionList = []
    //添加点线面function函数
    // console.log(position)
    //遍历每行数据，并将数据挤压到依次按照经纬度和高度挤压到positionList数据组中，该数组用逗号隔开
    // position.forEach((item) => {
    //     positionList.push(item.longitude)
    //     positionList.push(item.latitude)
    //     positionList.push(item.altitude)
    // })
    // // console.log(positionList)

    //添加线实体
    var lineEntity = viewer.entities.add({
        name: 'Line',
        polyline: {
            positions: Cesium.Cartesian3.fromDegreesArrayHeights(oneLine),
            width: 1,
            material: Cesium.Color.RED,
            show:false
        }
    });
    //飞到线实体
   // viewer.flyTo(lineEntity);
    window.txtfile1.push(lineEntity)
}

//数据格式化
function initializeData1(position) {
    // 根据id筛选数据
    var positionSList = []
    const filteredData = position.reduce((result, item) => {

        if (!result[item.id]) {
            result[item.id] = [];
        }
        result[item.id].push(item);
        return result;
    }, {});
    //console.log(filteredData)

    for (var i = 1; i <= Object.keys(filteredData).length; i++) {
        var oneLine = []
        filteredData[i].forEach((item, index) => {
            oneLine.push(item.longitude)
            oneLine.push(item.latitude)
            oneLine.push(item.altitude)

        })
        positionSList.push(oneLine)
        addlineBytxt1(oneLine)
    }
}


// 根据id读取贺矿2的txt数据
function readTxtFile2() {
    //设置一个关于位置的空数组，等着数据往里加
    var position = [];
    //定义一个文件变量
    var file = "./data/2.txt";
    //自己看看xhr如何请求获取.txt文本数据的基本格式 http://c.biancheng.net/view/5995.html
    var xhr = new XMLHttpRequest();
    xhr.open("GET", file, true);
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            //定义行数，换行用，分割
            var lines = xhr.responseText.split('\n');
            //for循环每一行数据
            for (var i = 0; i < lines.length; i++) {
                //trim()清除本行空格，菜鸟教程https://www.runoob.com/jsref/jsref-trim.html
                var line = lines[i].trim();
                //每行数据用，分割
                var data = line.split(',');
                //分别将每行数据中用，分割好的单个数据填入设置好的经纬度和高度变量
                var id = parseFloat(data[0]);
                var longitude = parseFloat(data[1]);
                var latitude = parseFloat(data[2]);
                var altitude = parseFloat(data[3]);
                //将经纬度和高度依次挤压到position数组中
                position.push({
                    id: id,
                    longitude: longitude,
                    latitude: latitude,
                    altitude: altitude
                });
            }
            // processPositionArray();

        }
    };
    xhr.send();

    // //1秒后开始传参并执行以下功能
    setTimeout(() => {
        //     //调用格式化数据函数
        initializeData2(position)



        //     addlineBytxt2(position)
        //     console.log(position)

    }, 1000);

}
//调用以下功能
//readTxtFile2();
//李子威添加线功能
function addlineBytxt2(oneLine) {
    //定义一个新的位置数组
    var positionList = []
    //添加点线面function函数
    // console.log(position)
    //遍历每行数据，并将数据挤压到依次按照经纬度和高度挤压到positionList数据组中，该数组用逗号隔开
    // position.forEach((item) => {
    //     positionList.push(item.longitude)
    //     positionList.push(item.latitude)
    //     positionList.push(item.altitude)
    // })
    // // console.log(positionList)

    //添加线实体
    var lineEntity = viewer.entities.add({
        name: 'Line',
        polyline: {
            positions: Cesium.Cartesian3.fromDegreesArrayHeights(oneLine),
            width: 1,
            material: Cesium.Color.BLUE,
        }
    });
    //飞到线实体
   // viewer.flyTo(lineEntity);

}
//数据格式化
function initializeData2(position) {
    // 根据id筛选数据
    var positionSList = []
    const filteredData = position.reduce((result, item) => {

        if (!result[item.id]) {
            result[item.id] = [];
        }
        result[item.id].push(item);
        return result;
    }, {});
    //console.log(filteredData)
    for (var i = 1; i <= Object.keys(filteredData).length; i++) {
        var oneLine = []
        filteredData[i].forEach((item, index) => {
            oneLine.push(item.longitude)
            oneLine.push(item.latitude)
            oneLine.push(item.altitude)

        })
        positionSList.push(oneLine)
        addlineBytxt2(oneLine)
    }
}

// 读取贺矿的txt文件
function readTxtFile3() {
    //设置一个关于位置的空数组，等着数据往里加
    var position = [];
    //定义一个文件变量
    var file = "./data/hekuang.txt";
    //自己看看xhr如何请求获取.txt文本数据的基本格式 http://c.biancheng.net/view/5995.html
    var xhr = new XMLHttpRequest();
    xhr.open("GET", file, true);
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            //定义行数，换行用，分割
            var lines = xhr.responseText.split('\n');
            //for循环每一行数据
            for (var i = 0; i < lines.length; i++) {
                //trim()清除本行空格，菜鸟教程https://www.runoob.com/jsref/jsref-trim.html
                var line = lines[i].trim();
                //每行数据用，分割
                var data = line.split(',');
                //分别将每行数据中用，分割好的单个数据填入设置好的经纬度和高度变量
                var id = parseFloat(data[0]);
                var longitude = parseFloat(data[1]);
                var latitude = parseFloat(data[2]);
                var altitude = parseFloat(data[3]);
                //将经纬度和高度依次挤压到position数组中
                position.push({
                    id: id,
                    longitude: longitude,
                    latitude: latitude,
                    altitude: altitude
                });
            }
            // processPositionArray();

        }
    };
    xhr.send();

    // //1秒后开始传参并执行以下功能
    setTimeout(() => {
        //     //调用格式化数据函数
        initializeData3(position)



        //     addlineBytxt2(position)
        //     console.log(position)

    }, 1000);

}

//调用以下功能
//readTxtFile3();

//李子威添加线功能
function addlineBytxt3(oneLine) {
    //定义一个新的位置数组
    var positionList = []
    //添加点线面function函数
    // console.log(position)
    //遍历每行数据，并将数据挤压到依次按照经纬度和高度挤压到positionList数据组中，该数组用逗号隔开
    // position.forEach((item) => {
    //     positionList.push(item.longitude)
    //     positionList.push(item.latitude)
    //     positionList.push(item.altitude)
    // })
    // // console.log(positionList)

    //添加线实体
    var lineEntity = viewer.entities.add({
        name: 'Line',
        polyline: {
            positions: Cesium.Cartesian3.fromDegreesArrayHeights(oneLine),
            width: 1,
            material: Cesium.Color.HOTPINK,
        }
    });
    //飞到线实体
    //viewer.flyTo(lineEntity);

}

//数据格式化
function initializeData3(position) {
    // 根据id筛选数据
    var positionSList = []
    const filteredData = position.reduce((result, item) => {

        if (!result[item.id]) {
            result[item.id] = [];
        }
        result[item.id].push(item);
        return result;
    }, {});
   // console.log(filteredData)

    for (var i = 1; i <= Object.keys(filteredData).length; i++) {
        var oneLine = []
        filteredData[i].forEach((item, index) => {
            oneLine.push(item.longitude)
            oneLine.push(item.latitude)
            oneLine.push(item.altitude)

        })
        positionSList.push(oneLine)
        addlineBytxt3(oneLine)
    }
}